# Субтитри

След като вече разполагаме със самия филм, идва ред и на субтитрите. В DVD дисковете обикновено има субтитри за много езици, и ние можем да си свалим всички, които ни харесват (например за английски език и за български език). На DVD-то обаче субтитрите се съхраняват във вид на картинки, които направо се визуализират върху образа на филма. Очевидно е, че това би било неудобно за нашите цели, тъй като картинките заемат доста място, а ние не разполагаме с такова на обикновения компакт диск, който ще използваме. Най-добре би било да конвертираме някак субтитрите на филма до обикновен текстов файл. Съществуват множество такива файлови формати - например SRT (в какъвто запазва субтитрите програмата SubRip - най-добрата програма за обработка на субтитри), SUB (какъвто се използва от най-добрия плеър - MicroDVD; той поддържа и другите файлови формати, но SUB стават най-малки като размер на файла), и SMI (така наречените SAMI файлове - използват се от Windows Media Player). По-надолу ще се спрем по-подробно на файловите формати, как да конвертираме между тях, кои да използваме и т.н.

За да получим обаче субтитрите в текстов формат, ще ни е необходима програма, която да направи оптично разпознаване на текста от картинките на DVD-то (т.нар. OCR - Optical Character Recognition). Тук вече ще прибегнем до услугите на програмата SubRip. Съществуват, разбира се, и други програми за целта, но от всички, които сме изпробвали, тази е най-мощната и качествена. Ще правим демонстрациите с версия 0.93b, макар че вече може да има и по-нови.

И така, стартираме програмата и от менюто "File" избираме "Open VOB(s)". Появява се прозорец "What To Do?". В него има няколко секции. Започваме с най-горната - да отворим DVD-то и да изберем езика, на който искаме да правим OCR. Това става с бутона "Open IFO", и после в появилия се стандартен прозорец за отваряне на файл избираме същия IFO файл, който отворихме и във FlasKMPEG, когато трябваше да конвертираме към AVI.

След като отворим DVD-то, съдържанието на прозореца се променя: в "Language Stream" се появява списък на езиците, за които има субтитри. В секцията "Vob Files" се появява списък с VOB файловете от цялото DVD, като имаме възможност да изберем на кои от тях да бъде направено оптично разпознаване.

Избираме съответния език и необходимите ни VOB файлове. Един IFO файл описва някаква част от всичките VOB файлове, и тези VOB файлове носят същия номер като него, като всеки VOB файл си има и подномер (например ако IFO файла се казва VTS_01_0.IFO, то неговите VOB файлове са с имена VTS_01_0.VOB, VTS_01_1.VOB, VTS_01_2.VOB и т.н.).

Ние трябва да изберем VOB файловете, съответстващи на IFO файла, само че без нулевия. Обикновено това ще са няколко файла с размери по около 1 GB (то даже си е написано в диалоговия прозорец - "Start with the first 1Gb VOB and use the Last Time Code").

Да се занимаем сега със секцията "Characters Matrix File". В нея избираме файла, който описва всеки символ. Работата е там, че програмата, когато види буквата "А", не знае, че това е главна буква а. Затова първия път, когато я срещне, тя ще попита потребителя коя е тази буква. След това ще си го запише в този т.нар. Characters Matrix File, и от тук нататък, когато я види, ще я разпознава. За всяко DVD можем да започваме наново с празен такъв файл, или пък да използваме вече създаден файл (за съответния език; хубаво е да не се смесват, защото "А" е еднакво по форма и на кирилица, и на латиница, но ако смесваме кирилски и латински букви в една дума, после може да имаме проблеми с проверката на правописа). Всеки сам си решава как точно ще постъпи. По принцип не е проблем да се използва и предварително създаден за други DVD-та Characters Matrix File, но ако се получат много правописни грешки, си струва да се опита разпознаването да се повтори наново, с празен файл. Отварянето на вече съществуващ файл става с бутончето "...", а нов файл - с "X".

Накрая се уверяваме, че в полето "Action" е указано "SubPictures to Text via OCR", и натискаме бутона "Start". Програмата ще стигне до първия ред от субтитрите, и ще ни попита дали виждаме бял текст на черен фон, а ако не - да изберем друг цвят, така че текстът да е бяло на черно. В почти всички случаи обаче тя ще си познае правилната настройка, и ще ни остава само да натиснем "OK".

Сега вече започва същинското разпознаване на текста. За всеки нов символ, който програмата не разпознава, ще бъде задаван въпрос кой е този символ. В случая със скрийншота стана така, че първия символ се оказа с курсив. По-долу ще покажем как можем да запазим това оформление на текста, но нека за сега оставим това.

Трябва да отбележим кавичките, тъй като те са специален случай. В повечето случаи SubRip открива само първата половинка на кавичката. В този случай трябва да се каже, че разпознатият символ е апостроф, а малко по-надолу ще покажем как да излезем от положението.

Накрая, след като разпознаването приключи, идва ред и на корекциите. Отиваме в прозорчето "Subtitles", където се намира разпознатия текст (ако не можем да го намерим - това прозорче се включва и изключва от иконката с текста в основния прозорец, точно до бутона "Pause []"), и в менюто "Corrections" избираме "Post OCR Spelling Correction" (корекции след OCR). В появилия се прозорец можем да кажем да се замества двоен апостроф с кавичка, а две кавички - с една (първата опция, а тя е включена и по подразбиране), както и да се опита да оправи проблемите, възникващи от това, че на латиница главна буква i и малка буква l изглеждат по един и същи начин.

Както обаче може да се предположи, тези корекции съвсем не са достатъчни. Буквата I, например, може да бъде объркана с единица, може да има интервали на места, на които в оригиналните субтитри ги няма (става особено често на редове с курсив, както и след цифрата "1") и така нататък. Ето защо най-добрият начин за корекция е след като приключи разпознаването, текстът да бъде прочетен много внимателно, и всички грешки да бъдат коригирани на ръка. Това може да стане и с Notepad, след като запишем файла на твърдия диск във формат SRT (File / Save as). От основния прозорец, от менюто Characters Matrix, можем да съхраним и информацията за символите, за да можем да я използваме отново при друго разпознаване.

А сега да се върнем към курсива. Програмата MicroDVD поддържа субтитри в курсив. Тя се ориентира за това, когато види в началото на реда, който трябва да се визуализира, низа "{y:i}" (без кавичките). Самия процес на разпознаване на символите обаче се усложнява по следния начин:

1. Когато SubRip иска от нас да разпознаем символ, който е в курсив, трябва да го оградим отпред с "<b>", а отзад - с "</b>" (това не е за някоя програма, а за да можем по-късно ние самите да се ориентираме). Например по-горе, където трябваше да се въведе цифрата 9 с курсив, трябваше да въведем "<b>9</b>".

2. След като свършим с разпознаването, запишем файла и затворим SubRip, трябва да отворим с Notepad или друг текстов редактор SRT файла, и да извършим следните корекции (в този ред):

   - Заменяме "</b><b>" с празен низ;

   - Заменяме "</b>" с празен низ;

   - Заменяме "-<b>" с "<b>-" (това се прави заради пряката реч в курсив). Може освен това да заменим и "- <b>" с "<b> -" (забележете интервалите);

   - Заменяме " <b>" (интервал <b>) с " " (само интервал);

   - Заменяме "<b>" с "{y:i}", само ако е в началото на реда;

   - Изтриваме всички останали срещания на "<b>"